package com.jy.modules.cims.data.interact.tbj.loan.request;

import java.math.BigDecimal;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.springframework.format.annotation.DateTimeFormat;

/**
 * @description 铜板街募集计划Request。
 * @author shengzhoutao
 * @date 2015-09-07
 */
public class RequestRaisePlanDTO {

	/** 募集计划编号 */
	@NotNull(message = "募集计划编号planId不能为空")
	@Size(min = 1, max = 15, message = "募集计划编号 planId长度必须在1-15之间")
	private String planId;

	/** 募集计划名称 */
	@NotNull(message = "募集计划名称 planName不能为空")
	@Size(min = 1, max = 20, message = "募集计划名称 planName长度必须在1-20之间")
	private String planName;

	/** 募集计划金额 */
	@NotNull(message = "募集计划金额 amount不能为空")
	private BigDecimal amount;

	/** 开始日期 */
	@NotNull(message = "开始日期 startTime不能为空")
	@DateTimeFormat(pattern="开始日期 startTime格式为:yyyy-MM-dd HH:mm:ss")  
	private java.util.Date startTime;

	/** 产品期限(天) */
	@NotNull(message = "产品期限(天)period不能为空")
	@Min(value = 0, message = "产品期限(天)period最小值必须是0")
	private Long period;

	/** 商户兑付期限(天) */
	@NotNull(message = "商户兑付期限(天)merchantPeriod不能为空")
	@Min(value = 0, message = "商户兑付期限(天)merchantPeriod最小值必须是0")
	private Long merchantPeriod;

	/** 起息时间 */
	@NotNull(message = "起息时间 startBenefitDate不能为空")
	@DateTimeFormat(pattern="起息时间 startBenefitDate格式为:yyyy-MM-dd HH:mm:ss")  
	private java.util.Date startBenefitDate;

	/** 到期时间 */
	@NotNull(message = "到期时间 endBenefitDate不能为空")
	@DateTimeFormat(pattern="到期时间 endBenefitDate格式为:yyyy-MM-dd HH:mm:ss")   
	private java.util.Date endBenefitDate;

	public String getPlanId() {
		return planId;
	}

	public void setPlanId(String planId) {
		this.planId = planId;
	}

	public String getPlanName() {
		return planName;
	}

	public void setPlanName(String planName) {
		this.planName = planName;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public java.util.Date getStartTime() {
		return startTime;
	}

	public void setStartTime(java.util.Date startTime) {
		this.startTime = startTime;
	}

	public Long getPeriod() {
		return period;
	}

	public void setPeriod(Long period) {
		this.period = period;
	}

	public Long getMerchantPeriod() {
		return merchantPeriod;
	}

	public void setMerchantPeriod(Long merchantPeriod) {
		this.merchantPeriod = merchantPeriod;
	}

	public java.util.Date getStartBenefitDate() {
		return startBenefitDate;
	}

	public void setStartBenefitDate(java.util.Date startBenefitDate) {
		this.startBenefitDate = startBenefitDate;
	}

	public java.util.Date getEndBenefitDate() {
		return endBenefitDate;
	}

	public void setEndBenefitDate(java.util.Date endBenefitDate) {
		this.endBenefitDate = endBenefitDate;
	}
}
